Skip to content

Integrate a power of x times the logarithm of a polynomial plus a root, by parts - #1955

Merged
Rafael-SOWNet merged 1 commit into
masterfrom
by-parts-against-a-logarithm-of-a-radical-sum
Oct 20, 2026
Merged

Rafael-SOWNet merged 1 commit into
masterfrom
by-parts-against-a-logarithm-of-a-radical-sum

Conversation

@Rafael-SOWNet

Copy link
Copy Markdown
Member

Part of #233.

x^3 ln(-1 + 4 x + 4 sqrt((x - 1) x)) was declined, and three more of Rubi's 3.5 with half-odd powers of x beside the same logarithm ran out of time. Let D = A^2 - B^2 Q. The derivative of ln(A + B sqrt(Q)) is D'/(2 D) + (Q (A B' - A' B) + A B Q'/2)/(D sqrt(Q)), an identity of the algebra with no branch in it. By parts, what is left is a rational function plus one over the root, and the rules for those answer it. Here D = 8 x + 1.

The new rule is SolveByPartsAgainstALogarithmOfARadicalSum. It applies only for a D that is not constant. The inverse hyperbolic functions have a constant D, and they are answered already: x ln(x + sqrt(x^2 + 1)) is left to its existing route.

Measured against master 8a1ef454:

master this branch
Rubi family 3, all 1,382 rows (under machine load) 1,345 1,348
moves, each re-run alone 1 of 5 5 of 5, 0 wrong: 3.5:136, 143, 146 and 147. 3.2.2:152 was a load timeout that solves on both
families 0 (whole) and 1 (40 a file), samples of 2–8 identical
performance gate passed
suite 15,599 passed, 0 failed

The rebase onto #1950–#1954 conflicted only on the dispatch line, at the shared anchor. I kept both. The combined tests of #1952, #1953, #1954 and this branch pass, 17/17. All four rows were declined by 2.5.0, and BREAKING-CHANGES.md has the entry.

🤖 Generated with Claude Code

https://claude.ai/code/session_012sonx8iAspMiwRwokT1Ura

…t, by parts

With D = A^2 - B^2 Q, the derivative of ln(A + B sqrt(Q)) is
D'/(2 D) + (Q (A B' - A' B) + A B Q'/2)/(D sqrt(Q)), an identity of the
algebra with no branch in it, so by parts what is left is a rational
function and one over the root, which the rules for those answer. The search
differentiated the logarithm as written, a quotient with the root in both
parts, and ran past the budget. Only for a D that is not constant: the
inverse hyperbolic functions, whose D is, are answered already.

Rubi's 3.5: rows 136, 143, 146 and 147 go from unevaluated or timed out to
solved, 0 wrong. Families 0 and 1 and samples of 2-8 otherwise identical;
gate and suite pass.

Part of #233.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_012sonx8iAspMiwRwokT1Ura
@Rafael-SOWNet Rafael-SOWNet added this to the 2.6.0 milestone Oct 19, 2026
@Rafael-SOWNet
Rafael-SOWNet merged commit b53d799 into master Oct 20, 2026
34 checks passed
@github-project-automation github-project-automation Bot moved this from Todo to Done in AngouriMath Oct 20, 2026
@Rafael-SOWNet
Rafael-SOWNet deleted the by-parts-against-a-logarithm-of-a-radical-sum branch October 29, 2026 00:43
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Status: Done

Development

Successfully merging this pull request may close these issues.

1 participant